﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace HeathCareSystem.wuc
{
    public partial class wucBenhNhanMoi : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.txtNgay.Text = DateTime.Now.ToShortDateString();
            ddlTenBS.DataSource = new NguoiDungBUS().LayDanhSachBacSi();
            ddlTenBS.DataTextField = "HoTen";
            ddlTenBS.DataValueField = "MaNguoiDung";
            ddlTenBS.DataBind();
            ddlTenBS.SelectedIndex = 1;
        }

        protected void btnThem_Click(object sender, EventArgs e)
        {
            BenhNhanDTO bnDTO = GanThongTinBenhNhanToBenhNhanDTO();

            //tao tai khoan
            TaiKhoanDTO tkDTO = new TaiKhoanDTO();
            tkDTO.tenDangNhap = txtMa.Text;
            tkDTO.matKhau = txtMa.Text;
            tkDTO.maLoaiTaiKhoan = "LTK04";
            new TaiKhoanBUS().ThemTaiKhoanMoi(tkDTO);

            if (new BenhNhanBUS().ThemBenhNhan(bnDTO))
            {
                int maBenhKhamBenh = Int32.Parse(txtMa.Text.Substring(8, 2));
                string strThongBao = string.Format("Thêm Bệnh Nhân Mới Thành Công! \n Mã Khám Khám Bệnh: {0}", maBenhKhamBenh.ToString("000"));
                lblThongBao.Text = strThongBao;
            }
            else
            {
                lblThongBao.Text = "Thêm Bệnh Nhân Mới thất bại!";
            }
            btncapNhat.Enabled = true;
            btnThem.Enabled = false;
            rfvDiaChi.Enabled = rfvMaBenhNhan.Enabled = rfvSoDienThoai.Enabled = false;
            revSoDienThoai.Enabled = false;
        }

        protected void btnShow_Click(object sender, EventArgs e)
        {
            if(txtMa.Text.Equals(""))
            {
                lblThongBaoLoi.Text = "Bạn Chưa Nhập Mã Bệnh Nhân Cần Tìm!";
                return;
            }

            BenhNhanDTO benhNhanDTO = new BenhNhanBUS().TimBenhNhan(this.txtMa.Text);
            if(benhNhanDTO == null)
            {
                lblThongBaoLoi.Text = "Mã Bệnh Nhân Này Không tồn tại!";
                return;
            }
            this.txtTen.Text = benhNhanDTO.hoTen;
            this.txtNgay.Text = benhNhanDTO.ngaySinh.ToShortDateString();
            this.txtDiaChi.Text = benhNhanDTO.diaChi;
            this.txtDienThoai.Text = benhNhanDTO.soDienThoai;
            if (benhNhanDTO.gioiTinh == rbtnNam.Text)
                rbtnNam.Checked = true;
            if (benhNhanDTO.gioiTinh == rbtnNu.Text)
                rbtnNu.Checked = true;
            if (benhNhanDTO.tinhTrangHonNhan == rbtnAlone.Text)
                rbtnAlone.Checked = true;
            if (benhNhanDTO.tinhTrangHonNhan == rbtnMiery.Text)
                rbtnMiery.Checked = true;

            ddlQue.SelectedItem.Text = benhNhanDTO.queQuan;

            btncapNhat.Enabled = true;
            btnCap.Enabled = true;
            btnThem.Enabled = false;
        }

        protected void btnTaoBenhNhanMoi_Click(object sender, EventArgs e)
        {
            this.rfvMaBenhNhan.Enabled = true;
            this.txtMa.Text = new BenhNhanBUS().TaoMaBenhNhan();
            this.txtDienThoai.Text = this.txtTen.Text = this.txtDiaChi.Text = string.Empty;
            this.txtNgay.Text = DateTime.Now.ToShortDateString();
            this.rbtnNam.Checked = true;
            this.rbtnNu.Checked = false;
            this.rbtnAlone.Checked = true;
            this.rbtnMiery.Checked = false;

            btnThem.Enabled = true;
            btncapNhat.Enabled = false;
            btnCap.Enabled = false;
            rfvDiaChi.Enabled = rfvMaBenhNhan.Enabled = rfvSoDienThoai.Enabled = true;
            revSoDienThoai.Enabled = true;
        }

        protected void btncapNhat_Click(object sender, EventArgs e)
        {
            BenhNhanDTO bnDTO = GanThongTinBenhNhanToBenhNhanDTO();
            if (new BenhNhanBUS().CapNhatBenhNhan(bnDTO))
            {
                string strThongBao = string.Format("Cập Nhật Bệnh Nhân Thành Công!");
                lblThongBao.Text = strThongBao;
            }
            else
            {
                lblThongBao.Text = "Cập Nhật Bệnh Nhân thất bại!";
            }
        }

        private BenhNhanDTO GanThongTinBenhNhanToBenhNhanDTO()
        {
            string gioiTinh;
            string tinhTrangHonNhan;
            BenhNhanDTO bnDTO = new BenhNhanDTO();
            bnDTO.maBenhNhan = txtMa.Text;
            bnDTO.hoTen = txtTen.Text;
            bnDTO.ngaySinh = DateTime.Parse(txtNgay.Text);
            bnDTO.diaChi = txtDiaChi.Text;
            bnDTO.soDienThoai = txtDienThoai.Text;
            if (rbtnNam.Checked == true)
                gioiTinh = rbtnNam.Text;
            else
            {
                gioiTinh = rbtnNu.Text;
            }
            bnDTO.gioiTinh = gioiTinh;

            if (rbtnAlone.Checked == true)
                tinhTrangHonNhan = rbtnAlone.Text;
            else
            {
                tinhTrangHonNhan = rbtnMiery.Text;
            }
            bnDTO.tinhTrangHonNhan = tinhTrangHonNhan;
            bnDTO.queQuan = ddlQue.Text;
            bnDTO.maTaiKhoan = 1;

            return bnDTO;
        }

        protected void btnCap_Click(object sender, EventArgs e)
        {

        }

        protected void lbtnYeuCau_Click(object sender, EventArgs e)
        {

        }
    }
}